package com.lanou3g.code0426;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * Created by dllo on 18/4/26.
 */
public class Main {
    public static void main(String[] args) {


        /**
         * JDBC一共有4个核心类
         * 1.DriverManager
         * 用来管理驱动的
         * 2.Connection
         * 3.Statement:用来执行sql语句
         * 4.ResultSet
         */
        //static{System.err.println("haha");}出红字
        //1.装载驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");//把com.mysql.jdbc.Driver这个Driver类加载进内
            // 存,Driver自己自动的注册,这样就不需要硬编码写驱动了,之后会由驱动去连接数据库
            //DriverManager.registerDriver(new com.mysql.jdbc.Driver());淘汰
            //2.获得连接(用来连接数据库)
            Connection conn = DriverManager
                    .getConnection(
                            "jdbc:mysql://localhost:3306/lan_ou",
                            //全球统一资源定位符
                            "root",
                            "123456");
            //3.获得执行SQL语句的对象(可以用连接创建很多,通常创建一个就行)
            Statement state = conn.createStatement();
            //4.执行sql语句(分两种,查询及除了查询以外的)
            String sql = "select * from stu";
            ResultSet resultSet = state.executeQuery(sql);
            //resultSet 用来返回结果,结果集,里面含有邮标
            // int row = state.executeUpdate(sql)
            //用来执行没有结果的sql,也有返回值,返回值int
            //用来表示这条sql语句影响了多少行语句
            while (resultSet.next()) {
                //打印结果
//                String id=resultSet.getString("sid");//取信息
//                String name=resultSet.getString("sname");
//                String gender=resultSet.getString("gender");
//                int age=resultSet.getInt("age");
                System.out.println(resultSet.getObject("sid"));
                System.out.println(resultSet.getObject("sname"));
                System.out.println(resultSet.getObject("gender"));
                System.out.println(resultSet.getObject("age"));
            }
            //5.关闭资源
            state.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
